package Test;

import java.util.Scanner;


public class Test {

    public static void main1(String[] args){
        //大小写转换
        System.out.println("请输入一个字符串：");
        Scanner in=new Scanner(System.in);
        while (in.hasNextLine()) {
            String s = in.nextLine();
            for (int i = 0; i < s.length(); i++) {
                if(Character.isLowerCase(s.charAt(i))){ //若字符为小写字母则为真
                //if (s.charAt(i) >= 97 && s.charAt(i) <= 122) 与上等价
                    char c=(char)(Character.toUpperCase(s.charAt(i)));//将大写的字符利用方法转为小写，与下等价
                                // char c = (char) (s.charAt(i) - 32);
                    System.out.print(c);
                } else if(Character.isUpperCase(s.charAt(i))){//判断是否是大写，若是为真执行括号里的内容,与下等价
                              // else if (s.charAt(i) >= 65 && s.charAt(i) < 97) {
                               // char c2 = (char) (s.charAt(i) + 32); //与下面的转换等价
                               char c2=(char)(Character.toLowerCase(s.charAt(i)));
                    System.out.print(c2);
                }
            }
        }
    }
    //斐波那契数列
    public static int way2(int n){
        if(n==1|n==2)
            return 1;
        return way2(n-1)+way2(n-2);
    }
    public static void main2(String[] args){
        System.out.println("请输入你要求的项数：");
        Scanner in=new Scanner(System.in);
        int a=in.nextInt();
        int b=way2(a);
        System.out.println("第"+a+"项的和为："+b);
    }
    //删除公共字符
    public static void way3(String s1,String s2){
        StringBuilder s3=new StringBuilder();
        for(int i=0;i<s1.length();i++){
            char c= s1.charAt(i);
            int count=0;
            for(int j=0;j<s2.length();j++){
                if(c==s2.charAt(j)){
                    count++;
                }
            }
            if(count==0){

                s3.append(c);
            }
        }
        System.out.println(s1+"删去与"+s2+"公共部分的字符串为："+s3);
    }

    public static void main3(String[] args){
        System.out.println("输入含公共部分的字符串：");
        Scanner in=new Scanner(System.in);
        String s1=in.nextLine();//输入完成后换行输入，否者会被误以为全是S1的内容，从而导致s2收不到字符串
        String s2=in.nextLine();
         way3(s1,s2);
    }
    public static void way4(String a,String b){
        StringBuilder s=new StringBuilder();
        int i=a.length()-1;
        int j=b.length()-1;
        int ic=0;
        while (i>=0||j>=0||ic!=0){
            int m=(i>=0)?a.charAt(i)-'0':0;//1.将字符型转换为整型方便计算2.防止ij小于0后，继续执行
            int n=(j>=0)?b.charAt(j)-'0':0;
            //二进制的加法规则
            int sum=m+n+ic;
            s.append(sum % 2);
            ic=sum/2;//用于进位
            i--;
            j--;
        }
        String r=s.reverse().toString();
        System.out.println("二进制结果为："+r);
    }
    public static void main(String[] args){
        System.out.println("输入两个二进制字符串:");
        Scanner in=new Scanner(System.in);
        String a=in.nextLine();
        String b=in.nextLine();
        way4(a,b);

    }

}
